package com.sright.bcard.user.biz.manager;

import com.sright.bcard.common.service.share.dto.LoginUser;
import com.sright.bcard.common.service.share.dto.pager.Pager;
import com.sright.bcard.common.service.share.dto.request.VisitorPageRequest;
import com.sright.bcard.common.service.share.dto.response.VisitorDataResponse;
import com.sright.bcard.common.service.share.dto.response.VisitorPageResponse;
import com.sright.bcard.user.share.request.AnalysisListParam;
import com.sright.bcard.user.share.request.AddVisitorParamRequest;
import com.sright.common.response.SrightResponse;

import javax.servlet.http.HttpServletRequest;

public interface VisitorManager {

    SrightResponse getVisitorRanking(LoginUser loginUser);

    SrightResponse getVisitorOverview(LoginUser loginUser);

    VisitorDataResponse parentRelationship(Long id);

    VisitorDataResponse childrenRelationship(Long id);

    Long addVisitor(AddVisitorParamRequest addVisitorParamRequest, HttpServletRequest request) throws Exception;

    Boolean recordAccessTime(Long recordId, Integer time);

    Pager<VisitorPageResponse> pageVisitorList(VisitorPageRequest visitorPageRequest);

    SrightResponse visitorAnalysisList(AnalysisListParam analysisListParam);

    void dataPushDay() throws Exception;
}
